<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客列表页</title>
    <link rel="stylesheet" href="css/common.css">
    <link rel="stylesheet" href="css/blog_list.css">
</head>
<body>
    
    <!-- 导航栏 -->
    <div class="nav">
        <img src="image/logo.jpg">
        <span>
            我的博客系统
        </span>
        <!-- 这里的space仅仅用于站位 -->
        <div class="space"></div>
        <a href="blog_list.html" >主页</a>
        <a href="blog_edit.html" >写博客</a>
        <a href="logout">注销</a>
    </div>

    <div class="container">
        <!-- 左边页面 -->
        <div class="container-left">
            <div class="card">
                <!-- 用户头像 -->
                <img src="image/小姐姐.jpg">
                <!-- 用户名 -->
                <h3>究极无敌霸王龙</h3>
                <!-- 码云链接 -->
                <a href="https://gitee.com/ggboy_3_0" target="_blank">github 地址</a>
                <div class="counter">
                    <span>文章</span>
                    <span>分类</span>
                </div>
                <div class="counter">
                    <span>2</span>
                    <span>1</span>
                </div>
            </div>
        </div>
        <!-- 右边页面 -->
        <div class="container-right">
            <!-- 代表一篇博客 -->

        </div>
    </div>

    <script src="js/jquery.min.js"></script>
    <script>
        // 加载页面时发送get请求,从后端获取数据
        // 利用ajax来发送
        function getBlogs() {
            $.ajax({
                type:'get',
                url:'blog',
                success: function(body) {
                    // 处理返回的数据,将返回的数据构造成json格式
                    // 先遍历获取到的数据,逐个设计所对应的前端组件
                    let containerRight = document.querySelector('.container-right');
                    for(let blog of body) {
                        // 构造整个博客列表页的div
                        let blogDiv =document.createElement('div');
                        blogDiv.className = 'blog';
                        // 构造标题
                        let titleDiv = document.createElement('div');
                        titleDiv.className = 'title';
                        titleDiv.innerHTML = blog.title;
                        blogDiv.appendChild(titleDiv);
                        // 构造发布时间
                        let dateDiv = document.createElement('div');
                        dateDiv.className = 'date';
                        dateDiv.innerHTML = blog.postTime;
                        blogDiv.appendChild(dateDiv);
                        // 构造博客摘要
                        let descDiv = document.createElement('div');
                        descDiv.className = 'desc';
                        descDiv.innerHTML = blog.content;
                        blogDiv.appendChild(descDiv);
                        // 构造查看全文按钮
                        let a = document.createElement('a');
                        a.innerHTML = '查看全文 &gt;&gt;';
                        // 跳转到博客详情页,blogId是为了博客详情页知道是哪一篇博客
                        a.href = 'blog_detail.html?blogId=' + blog.blogId;
                        blogDiv.appendChild(a);
                        // 把blogDiv放到父元素(dom树)中
                        containerRight.appendChild(blogDiv);
                    }
                }
            });
        }
        // 这里是构造完上述的方法后,再这里调用
        getBlogs();

        // 构造函数,来发送ajax请求,监督用户登录状态
        function checkLogin() {
            $.ajax({
                type:'get',
                url:'login',
                success: function(body) {
                    if(body.userId && body.userId > 0) {
                        console.log("用户已经登录!!!");
                        // 显示用户的名字
                        let h3 = document.querySelector('.container-left .card h3');
                        h3.innerHTML = body.username;
                    } else {
                        // 这里是为登录
                        // 强制跳转到登录页面
                        location.assign('login.html');

                    }
                }
            });
        }

        checkLogin();
    </script>
</body>
</html>